[INFO] fetching crate librqbit-bencode 9.0.0-rc.0...
[INFO] fixing librqbit-bencode-9.0.0-rc.0 against try#622891a4e29178280638a6b63a8908bde2c0c854+cargoflags=-Zfix-edition=start=2015 for pr-157817-2
[INFO] extracting crate librqbit-bencode 9.0.0-rc.0 into /workspace/builds/worker-6-tc1/source
[INFO] started tweaking crates.io crate librqbit-bencode 9.0.0-rc.0
[INFO] finished tweaking crates.io crate librqbit-bencode 9.0.0-rc.0
[INFO] tweaked toml for crates.io crate librqbit-bencode 9.0.0-rc.0 written to /workspace/builds/worker-6-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate librqbit-bencode 9.0.0-rc.0 on toolchain 622891a4e29178280638a6b63a8908bde2c0c854
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate librqbit-bencode 9.0.0-rc.0 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded librqbit-clone-to-owned v9.0.0-rc.0
[INFO] [stderr]   Downloaded librqbit-buffers v9.0.0-rc.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3a6becf2bc8dde7f3fa57ede90e4f284e72d296796fc446bbb1e2c7cc0530151" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] b110cc0110f8df71ce378ff0ee2487ae38e969d8955532c7bf6543461e3e060a
[INFO] running `Command { std: "docker" "start" "b110cc0110f8df71ce378ff0ee2487ae38e969d8955532c7bf6543461e3e060a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "b110cc0110f8df71ce378ff0ee2487ae38e969d8955532c7bf6543461e3e060a" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "b110cc0110f8df71ce378ff0ee2487ae38e969d8955532c7bf6543461e3e060a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=" "-e" "RUSTDOCFLAGS=" "-w" "/opt/rustwide/workdir" "--user" "0:0" "b110cc0110f8df71ce378ff0ee2487ae38e969d8955532c7bf6543461e3e060a" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fix" "--allow-no-vcs" "--allow-dirty" "--frozen" "--all" "--all-targets" "--message-format=json" "-Zfix-edition=start=2015", kill_on_drop: false }`
[INFO] [stderr]     Checking librqbit-clone-to-owned v9.0.0-rc.0
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]     Checking atoi v2.0.0
[INFO] [stderr]     Checking librqbit-buffers v9.0.0-rc.0
[INFO] [stderr]     Checking librqbit-bencode v9.0.0-rc.0 (/opt/rustwide/workdir)
[INFO] [stdout] error: cannot find derive macro `Serialize` in this scope
[INFO] [stdout]    --> src/bencode_value.rs:222:18
[INFO] [stdout]     |
[INFO] [stdout] 222 |         #[derive(Serialize)]
[INFO] [stdout]     |                  ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] note: `Serialize` is imported here, but it is only a trait, without a derive macro
[INFO] [stdout]    --> src/bencode_value.rs:184:9
[INFO] [stdout]     |
[INFO] [stdout] 184 |     use serde::Serialize;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^
[INFO] [stdout] help: consider importing this derive macro
[INFO] [stdout]     |
[INFO] [stdout] 181 +     use serde_derive::Serialize;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `serde` in this scope
[INFO] [stdout]    --> src/bencode_value.rs:225:15
[INFO] [stdout]     |
[INFO] [stdout] 225 |             #[serde(skip_serializing_if = "Option::is_none")]
[INFO] [stdout]     |               ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `serde` is an attribute that can be used by the derive macros `Deserialize` and `Serialize`, you might be missing a `derive` attribute
[INFO] [stdout]     = note: `serde` is in scope, but it is a crate, not an attribute
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find derive macro `Deserialize` in this scope
[INFO] [stdout]    --> src/deserialize.rs:630:18
[INFO] [stdout]     |
[INFO] [stdout] 630 |         #[derive(Deserialize, Debug)]
[INFO] [stdout]     |                  ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] note: `Deserialize` is imported here, but it is only a trait, without a derive macro
[INFO] [stdout]    --> src/deserialize.rs:624:9
[INFO] [stdout]     |
[INFO] [stdout] 624 |     use serde::Deserialize;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: consider importing this derive macro
[INFO] [stdout]     |
[INFO] [stdout] 623 +     use serde_derive::Deserialize;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find derive macro `Deserialize` in this scope
[INFO] [stdout]    --> src/deserialize.rs:635:18
[INFO] [stdout]     |
[INFO] [stdout] 635 |         #[derive(Deserialize, Debug)]
[INFO] [stdout]     |                  ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] note: `Deserialize` is imported here, but it is only a trait, without a derive macro
[INFO] [stdout]    --> src/deserialize.rs:624:9
[INFO] [stdout]     |
[INFO] [stdout] 624 |     use serde::Deserialize;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: consider importing this derive macro
[INFO] [stdout]     |
[INFO] [stdout] 623 +     use serde_derive::Deserialize;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find derive macro `Deserialize` in this scope
[INFO] [stdout]    --> src/deserialize.rs:680:18
[INFO] [stdout]     |
[INFO] [stdout] 680 |         #[derive(Deserialize, Eq, PartialEq, Debug)]
[INFO] [stdout]     |                  ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] note: `Deserialize` is imported here, but it is only a trait, without a derive macro
[INFO] [stdout]    --> src/deserialize.rs:624:9
[INFO] [stdout]     |
[INFO] [stdout] 624 |     use serde::Deserialize;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: consider importing this derive macro
[INFO] [stdout]     |
[INFO] [stdout] 623 +     use serde_derive::Deserialize;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `serde` in this scope
[INFO] [stdout]    --> src/deserialize.rs:683:15
[INFO] [stdout]     |
[INFO] [stdout] 683 |             #[serde(borrow)]
[INFO] [stdout]     |               ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `serde` is an attribute that can be used by the derive macros `Deserialize` and `Serialize`, you might be missing a `derive` attribute
[INFO] [stdout]     = note: `serde` is in scope, but it is a crate, not an attribute
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find derive macro `Deserialize` in this scope
[INFO] [stdout]    --> src/deserialize.rs:715:18
[INFO] [stdout]     |
[INFO] [stdout] 715 |         #[derive(Deserialize, Debug)]
[INFO] [stdout]     |                  ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] note: `Deserialize` is imported here, but it is only a trait, without a derive macro
[INFO] [stdout]    --> src/deserialize.rs:624:9
[INFO] [stdout]     |
[INFO] [stdout] 624 |     use serde::Deserialize;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: consider importing this derive macro
[INFO] [stdout]     |
[INFO] [stdout] 623 +     use serde_derive::Deserialize;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `serde` in this scope
[INFO] [stdout]    --> src/deserialize.rs:717:15
[INFO] [stdout]     |
[INFO] [stdout] 717 |             #[serde(borrow)]
[INFO] [stdout]     |               ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `serde` is an attribute that can be used by the derive macros `Deserialize` and `Serialize`, you might be missing a `derive` attribute
[INFO] [stdout]     = note: `serde` is in scope, but it is a crate, not an attribute
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find derive macro `Deserialize` in this scope
[INFO] [stdout]    --> src/deserialize.rs:721:18
[INFO] [stdout]     |
[INFO] [stdout] 721 |         #[derive(Deserialize, Debug)]
[INFO] [stdout]     |                  ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] note: `Deserialize` is imported here, but it is only a trait, without a derive macro
[INFO] [stdout]    --> src/deserialize.rs:624:9
[INFO] [stdout]     |
[INFO] [stdout] 624 |     use serde::Deserialize;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: consider importing this derive macro
[INFO] [stdout]     |
[INFO] [stdout] 623 +     use serde_derive::Deserialize;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `serde` in this scope
[INFO] [stdout]    --> src/deserialize.rs:723:15
[INFO] [stdout]     |
[INFO] [stdout] 723 |             #[serde(borrow)]
[INFO] [stdout]     |               ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `serde` is an attribute that can be used by the derive macros `Deserialize` and `Serialize`, you might be missing a `derive` attribute
[INFO] [stdout]     = note: `serde` is in scope, but it is a crate, not an attribute
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find derive macro `Deserialize` in this scope
[INFO] [stdout]    --> src/deserialize.rs:746:18
[INFO] [stdout]     |
[INFO] [stdout] 746 |         #[derive(Deserialize, Eq, PartialEq, Debug)]
[INFO] [stdout]     |                  ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] note: `Deserialize` is imported here, but it is only a trait, without a derive macro
[INFO] [stdout]    --> src/deserialize.rs:624:9
[INFO] [stdout]     |
[INFO] [stdout] 624 |     use serde::Deserialize;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: consider importing this derive macro
[INFO] [stdout]     |
[INFO] [stdout] 623 +     use serde_derive::Deserialize;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find derive macro `Deserialize` in this scope
[INFO] [stdout]    --> src/deserialize.rs:759:18
[INFO] [stdout]     |
[INFO] [stdout] 759 |         #[derive(Deserialize, Eq, PartialEq, Debug)]
[INFO] [stdout]     |                  ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] note: `Deserialize` is imported here, but it is only a trait, without a derive macro
[INFO] [stdout]    --> src/deserialize.rs:624:9
[INFO] [stdout]     |
[INFO] [stdout] 624 |     use serde::Deserialize;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: consider importing this derive macro
[INFO] [stdout]     |
[INFO] [stdout] 623 +     use serde_derive::Deserialize;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `serde` in this scope
[INFO] [stdout]    --> src/deserialize.rs:762:15
[INFO] [stdout]     |
[INFO] [stdout] 762 |             #[serde(borrow)]
[INFO] [stdout]     |               ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `serde` is an attribute that can be used by the derive macros `Deserialize` and `Serialize`, you might be missing a `derive` attribute
[INFO] [stdout]     = note: `serde` is in scope, but it is a crate, not an attribute
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find derive macro `Serialize` in this scope
[INFO] [stdout]    --> src/serialize.rs:406:18
[INFO] [stdout]     |
[INFO] [stdout] 406 |         #[derive(Serialize, Debug)]
[INFO] [stdout]     |                  ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] note: `Serialize` is imported here, but it is only a trait, without a derive macro
[INFO] [stdout]    --> src/serialize.rs:366:9
[INFO] [stdout]     |
[INFO] [stdout] 366 |     use serde::Serialize;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^
[INFO] [stdout] help: consider importing this derive macro
[INFO] [stdout]     |
[INFO] [stdout] 365 +     use serde_derive::Serialize;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find derive macro `Serialize` in this scope
[INFO] [stdout]    --> src/serialize.rs:432:18
[INFO] [stdout]     |
[INFO] [stdout] 432 |         #[derive(Serialize, Debug)]
[INFO] [stdout]     |                  ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] note: `Serialize` is imported here, but it is only a trait, without a derive macro
[INFO] [stdout]    --> src/serialize.rs:366:9
[INFO] [stdout]     |
[INFO] [stdout] 366 |     use serde::Serialize;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^
[INFO] [stdout] help: consider importing this derive macro
[INFO] [stdout]     |
[INFO] [stdout] 365 +     use serde_derive::Serialize;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `serde` in this scope
[INFO] [stdout]    --> src/serialize.rs:435:15
[INFO] [stdout]     |
[INFO] [stdout] 435 |             #[serde(skip_serializing_if = "Option::is_none")]
[INFO] [stdout]     |               ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `serde` is an attribute that can be used by the derive macros `Deserialize` and `Serialize`, you might be missing a `derive` attribute
[INFO] [stdout]     = note: `serde` is in scope, but it is a crate, not an attribute
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Test: serde::Serialize` is not satisfied
[INFO] [stdout]    --> src/bencode_value.rs:233:38
[INFO] [stdout]     |
[INFO] [stdout] 233 |         bencode_serialize_to_writer(&test, &mut buf).unwrap();
[INFO] [stdout]     |         ---------------------------  ^^^^ unsatisfied trait bound
[INFO] [stdout]     |         |
[INFO] [stdout]     |         required by a bound introduced by this call
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Serialize` is not implemented for `Test`
[INFO] [stdout]    --> src/bencode_value.rs:223:9
[INFO] [stdout]     |
[INFO] [stdout] 223 |         struct Test {
[INFO] [stdout]     |         ^^^^^^^^^^^
[INFO] [stdout]     = note: for local types consider adding `#[derive(serde::Serialize)]` to your `Test` type
[INFO] [stdout]     = note: for types from other crates check whether the crate offers a `serde` feature flag
[INFO] [stdout]     = help: the following other types implement trait `Serialize`:
[INFO] [stdout]               &'a T
[INFO] [stdout]               &'a mut T
[INFO] [stdout]               ()
[INFO] [stdout]               (T,)
[INFO] [stdout]               (T0, T1)
[INFO] [stdout]               (T0, T1, T2)
[INFO] [stdout]               (T0, T1, T2, T3)
[INFO] [stdout]               (T0, T1, T2, T3, T4)
[INFO] [stdout]             and 132 others
[INFO] [stdout]     = note: required for `&Test` to implement `Serialize`
[INFO] [stdout] note: required by a bound in `bencode_serialize_to_writer`
[INFO] [stdout]    --> src/serialize.rs:354:39
[INFO] [stdout]     |
[INFO] [stdout] 354 | pub fn bencode_serialize_to_writer<T: Serialize, W: std::io::Write>(
[INFO] [stdout]     |                                       ^^^^^^^^^ required by this bound in `bencode_serialize_to_writer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Parent: serde::Deserialize<'de>` is not satisfied
[INFO] [stdout]    --> src/deserialize.rs:641:30
[INFO] [stdout]     |
[INFO] [stdout] 641 |         let e = from_bytes::<Parent>(&b"d5:childd3:key2:hiee"[..]).expect_err("expected error");
[INFO] [stdout]     |                              ^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Deserialize<'_>` is not implemented for `Parent`
[INFO] [stdout]    --> src/deserialize.rs:636:9
[INFO] [stdout]     |
[INFO] [stdout] 636 |         struct Parent {
[INFO] [stdout]     |         ^^^^^^^^^^^^^
[INFO] [stdout]     = note: for local types consider adding `#[derive(serde::Deserialize)]` to your `Parent` type
[INFO] [stdout]     = note: for types from other crates check whether the crate offers a `serde` feature flag
[INFO] [stdout]     = help: the following other types implement trait `Deserialize<'de>`:
[INFO] [stdout]               &'a Path
[INFO] [stdout]               &'a [u8]
[INFO] [stdout]               &'a str
[INFO] [stdout]               ()
[INFO] [stdout]               (T,)
[INFO] [stdout]               (T0, T1)
[INFO] [stdout]               (T0, T1, T2)
[INFO] [stdout]               (T0, T1, T2, T3)
[INFO] [stdout]             and 143 others
[INFO] [stdout] note: required by a bound in `deserialize::from_bytes`
[INFO] [stdout]    --> src/deserialize.rs:75:8
[INFO] [stdout]     |
[INFO] [stdout]  73 | pub fn from_bytes<'a, T>(buf: &'a [u8]) -> Result<T, ErrorWithContext<'a>>
[INFO] [stdout]     |        ---------- required by a bound in this function
[INFO] [stdout]  74 | where
[INFO] [stdout]  75 |     T: serde::de::Deserialize<'a>,
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `from_bytes`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `deserialize::tests::test_struct::S<'_>: serde::Deserialize<'de>` is not satisfied
[INFO] [stdout]    --> src/deserialize.rs:688:26
[INFO] [stdout]     |
[INFO] [stdout] 688 |             from_bytes::<S<'_>>(b"d3:keyi42ee").unwrap(),
[INFO] [stdout]     |                          ^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Deserialize<'_>` is not implemented for `deserialize::tests::test_struct::S<'_>`
[INFO] [stdout]    --> src/deserialize.rs:681:9
[INFO] [stdout]     |
[INFO] [stdout] 681 |         struct S<'a> {
[INFO] [stdout]     |         ^^^^^^^^^^^^
[INFO] [stdout]     = note: for local types consider adding `#[derive(serde::Deserialize)]` to your `deserialize::tests::test_struct::S<'_>` type
[INFO] [stdout]     = note: for types from other crates check whether the crate offers a `serde` feature flag
[INFO] [stdout]     = help: the following other types implement trait `Deserialize<'de>`:
[INFO] [stdout]               &'a Path
[INFO] [stdout]               &'a [u8]
[INFO] [stdout]               &'a str
[INFO] [stdout]               ()
[INFO] [stdout]               (T,)
[INFO] [stdout]               (T0, T1)
[INFO] [stdout]               (T0, T1, T2)
[INFO] [stdout]               (T0, T1, T2, T3)
[INFO] [stdout]             and 143 others
[INFO] [stdout] note: required by a bound in `deserialize::from_bytes`
[INFO] [stdout]    --> src/deserialize.rs:75:8
[INFO] [stdout]     |
[INFO] [stdout]  73 | pub fn from_bytes<'a, T>(buf: &'a [u8]) -> Result<T, ErrorWithContext<'a>>
[INFO] [stdout]     |        ---------- required by a bound in this function
[INFO] [stdout]  74 | where
[INFO] [stdout]  75 |     T: serde::de::Deserialize<'a>,
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `from_bytes`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `deserialize::tests::test_struct::S<'_>: serde::Deserialize<'de>` is not satisfied
[INFO] [stdout]    --> src/deserialize.rs:696:26
[INFO] [stdout]     |
[INFO] [stdout] 696 |             from_bytes::<S<'_>>(b"d3:keyi42e5:value5:helloe").unwrap(),
[INFO] [stdout]     |                          ^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Deserialize<'_>` is not implemented for `deserialize::tests::test_struct::S<'_>`
[INFO] [stdout]    --> src/deserialize.rs:681:9
[INFO] [stdout]     |
[INFO] [stdout] 681 |         struct S<'a> {
[INFO] [stdout]     |         ^^^^^^^^^^^^
[INFO] [stdout]     = note: for local types consider adding `#[derive(serde::Deserialize)]` to your `deserialize::tests::test_struct::S<'_>` type
[INFO] [stdout]     = note: for types from other crates check whether the crate offers a `serde` feature flag
[INFO] [stdout]     = help: the following other types implement trait `Deserialize<'de>`:
[INFO] [stdout]               &'a Path
[INFO] [stdout]               &'a [u8]
[INFO] [stdout]               &'a str
[INFO] [stdout]               ()
[INFO] [stdout]               (T,)
[INFO] [stdout]               (T0, T1)
[INFO] [stdout]               (T0, T1, T2)
[INFO] [stdout]               (T0, T1, T2, T3)
[INFO] [stdout]             and 143 others
[INFO] [stdout] note: required by a bound in `deserialize::from_bytes`
[INFO] [stdout]    --> src/deserialize.rs:75:8
[INFO] [stdout]     |
[INFO] [stdout]  73 | pub fn from_bytes<'a, T>(buf: &'a [u8]) -> Result<T, ErrorWithContext<'a>>
[INFO] [stdout]     |        ---------- required by a bound in this function
[INFO] [stdout]  74 | where
[INFO] [stdout]  75 |     T: serde::de::Deserialize<'a>,
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `from_bytes`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Torrent<'_>: serde::Deserialize<'de>` is not satisfied
[INFO] [stdout]    --> src/deserialize.rs:727:26
[INFO] [stdout]     |
[INFO] [stdout] 727 |         let t: Torrent = from_bytes(&b"d4:infod4:name5:helloee"[..]).unwrap();
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Deserialize<'_>` is not implemented for `Torrent<'_>`
[INFO] [stdout]    --> src/deserialize.rs:722:9
[INFO] [stdout]     |
[INFO] [stdout] 722 |         struct Torrent<'a> {
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for local types consider adding `#[derive(serde::Deserialize)]` to your `Torrent<'_>` type
[INFO] [stdout]     = note: for types from other crates check whether the crate offers a `serde` feature flag
[INFO] [stdout]     = help: the following other types implement trait `Deserialize<'de>`:
[INFO] [stdout]               &'a Path
[INFO] [stdout]               &'a [u8]
[INFO] [stdout]               &'a str
[INFO] [stdout]               ()
[INFO] [stdout]               (T,)
[INFO] [stdout]               (T0, T1)
[INFO] [stdout]               (T0, T1, T2)
[INFO] [stdout]               (T0, T1, T2, T3)
[INFO] [stdout]             and 143 others
[INFO] [stdout] note: required by a bound in `deserialize::from_bytes`
[INFO] [stdout]    --> src/deserialize.rs:75:8
[INFO] [stdout]     |
[INFO] [stdout]  73 | pub fn from_bytes<'a, T>(buf: &'a [u8]) -> Result<T, ErrorWithContext<'a>>
[INFO] [stdout]     |        ---------- required by a bound in this function
[INFO] [stdout]  74 | where
[INFO] [stdout]  75 |     T: serde::de::Deserialize<'a>,
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `from_bytes`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `deserialize::tests::test_struct_unknown_field::S: serde::Deserialize<'de>` is not satisfied
[INFO] [stdout]    --> src/deserialize.rs:752:26
[INFO] [stdout]     |
[INFO] [stdout] 752 |             from_bytes::<S>(b"d3:keyi42e5:value5:helloe").unwrap(),
[INFO] [stdout]     |                          ^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Deserialize<'_>` is not implemented for `deserialize::tests::test_struct_unknown_field::S`
[INFO] [stdout]    --> src/deserialize.rs:747:9
[INFO] [stdout]     |
[INFO] [stdout] 747 |         struct S {
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout]     = note: for local types consider adding `#[derive(serde::Deserialize)]` to your `deserialize::tests::test_struct_unknown_field::S` type
[INFO] [stdout]     = note: for types from other crates check whether the crate offers a `serde` feature flag
[INFO] [stdout]     = help: the following other types implement trait `Deserialize<'de>`:
[INFO] [stdout]               &'a Path
[INFO] [stdout]               &'a [u8]
[INFO] [stdout]               &'a str
[INFO] [stdout]               ()
[INFO] [stdout]               (T,)
[INFO] [stdout]               (T0, T1)
[INFO] [stdout]               (T0, T1, T2)
[INFO] [stdout]               (T0, T1, T2, T3)
[INFO] [stdout]             and 143 others
[INFO] [stdout] note: required by a bound in `deserialize::from_bytes`
[INFO] [stdout]    --> src/deserialize.rs:75:8
[INFO] [stdout]     |
[INFO] [stdout]  73 | pub fn from_bytes<'a, T>(buf: &'a [u8]) -> Result<T, ErrorWithContext<'a>>
[INFO] [stdout]     |        ---------- required by a bound in this function
[INFO] [stdout]  74 | where
[INFO] [stdout]  75 |     T: serde::de::Deserialize<'a>,
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `from_bytes`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `deserialize::tests::test_complex_struct::S<'_>: serde::Deserialize<'de>` is not satisfied
[INFO] [stdout]    --> src/deserialize.rs:767:26
[INFO] [stdout]     |
[INFO] [stdout] 767 |             from_bytes::<S>(b"d3:keyi42e6:valuesl5:hello5:worldee").unwrap(),
[INFO] [stdout]     |                          ^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Deserialize<'_>` is not implemented for `deserialize::tests::test_complex_struct::S<'_>`
[INFO] [stdout]    --> src/deserialize.rs:760:9
[INFO] [stdout]     |
[INFO] [stdout] 760 |         struct S<'a> {
[INFO] [stdout]     |         ^^^^^^^^^^^^
[INFO] [stdout]     = note: for local types consider adding `#[derive(serde::Deserialize)]` to your `deserialize::tests::test_complex_struct::S<'_>` type
[INFO] [stdout]     = note: for types from other crates check whether the crate offers a `serde` feature flag
[INFO] [stdout]     = help: the following other types implement trait `Deserialize<'de>`:
[INFO] [stdout]               &'a Path
[INFO] [stdout]               &'a [u8]
[INFO] [stdout]               &'a str
[INFO] [stdout]               ()
[INFO] [stdout]               (T,)
[INFO] [stdout]               (T0, T1)
[INFO] [stdout]               (T0, T1, T2)
[INFO] [stdout]               (T0, T1, T2, T3)
[INFO] [stdout]             and 143 others
[INFO] [stdout] note: required by a bound in `deserialize::from_bytes`
[INFO] [stdout]    --> src/deserialize.rs:75:8
[INFO] [stdout]     |
[INFO] [stdout]  73 | pub fn from_bytes<'a, T>(buf: &'a [u8]) -> Result<T, ErrorWithContext<'a>>
[INFO] [stdout]     |        ---------- required by a bound in this function
[INFO] [stdout]  74 | where
[INFO] [stdout]  75 |     T: serde::de::Deserialize<'a>,
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `from_bytes`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `serialize::tests::test_struct::S<'_>: serde::Serialize` is not satisfied
[INFO] [stdout]    --> src/serialize.rs:412:17
[INFO] [stdout]     |
[INFO] [stdout] 412 |               ser(S {
[INFO] [stdout]     |  _____________---_^
[INFO] [stdout]     | |             |
[INFO] [stdout]     | |             required by a bound introduced by this call
[INFO] [stdout] 413 | |                 key: 42,
[INFO] [stdout] 414 | |                 value: b"foo"[..].into()
[INFO] [stdout] 415 | |             })
[INFO] [stdout]     | |_____________^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Serialize` is not implemented for `serialize::tests::test_struct::S<'_>`
[INFO] [stdout]    --> src/serialize.rs:407:9
[INFO] [stdout]     |
[INFO] [stdout] 407 |         struct S<'a> {
[INFO] [stdout]     |         ^^^^^^^^^^^^
[INFO] [stdout]     = note: for local types consider adding `#[derive(serde::Serialize)]` to your `serialize::tests::test_struct::S<'_>` type
[INFO] [stdout]     = note: for types from other crates check whether the crate offers a `serde` feature flag
[INFO] [stdout]     = help: the following other types implement trait `Serialize`:
[INFO] [stdout]               &'a T
[INFO] [stdout]               &'a mut T
[INFO] [stdout]               ()
[INFO] [stdout]               (T,)
[INFO] [stdout]               (T0, T1)
[INFO] [stdout]               (T0, T1, T2)
[INFO] [stdout]               (T0, T1, T2, T3)
[INFO] [stdout]               (T0, T1, T2, T3, T4)
[INFO] [stdout]             and 132 others
[INFO] [stdout] note: required by a bound in `ser`
[INFO] [stdout]    --> src/serialize.rs:370:15
[INFO] [stdout]     |
[INFO] [stdout] 370 |     fn ser<T: Serialize>(value: T) -> Result<ByteBufOwned, crate::SerializeError> {
[INFO] [stdout]     |               ^^^^^^^^^ required by this bound in `ser`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `serialize::tests::test_struct_with_option::S<'_>: serde::Serialize` is not satisfied
[INFO] [stdout]    --> src/serialize.rs:439:17
[INFO] [stdout]     |
[INFO] [stdout] 439 |               ser(S {
[INFO] [stdout]     |  _____________---_^
[INFO] [stdout]     | |             |
[INFO] [stdout]     | |             required by a bound introduced by this call
[INFO] [stdout] 440 | |                 key: 42,
[INFO] [stdout] 441 | |                 value: Some(b"foo"[..].into())
[INFO] [stdout] 442 | |             })
[INFO] [stdout]     | |_____________^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Serialize` is not implemented for `serialize::tests::test_struct_with_option::S<'_>`
[INFO] [stdout]    --> src/serialize.rs:433:9
[INFO] [stdout]     |
[INFO] [stdout] 433 |         struct S<'a> {
[INFO] [stdout]     |         ^^^^^^^^^^^^
[INFO] [stdout]     = note: for local types consider adding `#[derive(serde::Serialize)]` to your `serialize::tests::test_struct_with_option::S<'_>` type
[INFO] [stdout]     = note: for types from other crates check whether the crate offers a `serde` feature flag
[INFO] [stdout]     = help: the following other types implement trait `Serialize`:
[INFO] [stdout]               &'a T
[INFO] [stdout]               &'a mut T
[INFO] [stdout]               ()
[INFO] [stdout]               (T,)
[INFO] [stdout]               (T0, T1)
[INFO] [stdout]               (T0, T1, T2)
[INFO] [stdout]               (T0, T1, T2, T3)
[INFO] [stdout]               (T0, T1, T2, T3, T4)
[INFO] [stdout]             and 132 others
[INFO] [stdout] note: required by a bound in `ser`
[INFO] [stdout]    --> src/serialize.rs:370:15
[INFO] [stdout]     |
[INFO] [stdout] 370 |     fn ser<T: Serialize>(value: T) -> Result<ByteBufOwned, crate::SerializeError> {
[INFO] [stdout]     |               ^^^^^^^^^ required by this bound in `ser`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `serialize::tests::test_struct_with_option::S<'_>: serde::Serialize` is not satisfied
[INFO] [stdout]    --> src/serialize.rs:447:17
[INFO] [stdout]     |
[INFO] [stdout] 447 |               ser(S {
[INFO] [stdout]     |  _____________---_^
[INFO] [stdout]     | |             |
[INFO] [stdout]     | |             required by a bound introduced by this call
[INFO] [stdout] 448 | |                 key: 42,
[INFO] [stdout] 449 | |                 value: None
[INFO] [stdout] 450 | |             })
[INFO] [stdout]     | |_____________^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Serialize` is not implemented for `serialize::tests::test_struct_with_option::S<'_>`
[INFO] [stdout]    --> src/serialize.rs:433:9
[INFO] [stdout]     |
[INFO] [stdout] 433 |         struct S<'a> {
[INFO] [stdout]     |         ^^^^^^^^^^^^
[INFO] [stdout]     = note: for local types consider adding `#[derive(serde::Serialize)]` to your `serialize::tests::test_struct_with_option::S<'_>` type
[INFO] [stdout]     = note: for types from other crates check whether the crate offers a `serde` feature flag
[INFO] [stdout]     = help: the following other types implement trait `Serialize`:
[INFO] [stdout]               &'a T
[INFO] [stdout]               &'a mut T
[INFO] [stdout]               ()
[INFO] [stdout]               (T,)
[INFO] [stdout]               (T0, T1)
[INFO] [stdout]               (T0, T1, T2)
[INFO] [stdout]               (T0, T1, T2, T3)
[INFO] [stdout]               (T0, T1, T2, T3, T4)
[INFO] [stdout]             and 132 others
[INFO] [stdout] note: required by a bound in `ser`
[INFO] [stdout]    --> src/serialize.rs:370:15
[INFO] [stdout]     |
[INFO] [stdout] 370 |     fn ser<T: Serialize>(value: T) -> Result<ByteBufOwned, crate::SerializeError> {
[INFO] [stdout]     |               ^^^^^^^^^ required by this bound in `ser`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0277`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `librqbit-bencode` (lib test) due to 26 previous errors
[INFO] running `Command { std: "docker" "inspect" "b110cc0110f8df71ce378ff0ee2487ae38e969d8955532c7bf6543461e3e060a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "b110cc0110f8df71ce378ff0ee2487ae38e969d8955532c7bf6543461e3e060a", kill_on_drop: false }`
[INFO] [stdout] b110cc0110f8df71ce378ff0ee2487ae38e969d8955532c7bf6543461e3e060a
